aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)/qr/[text]/raw
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2024-12-03 15:57:40 -0800
committerAdam Soltys <[email protected]>2024-12-03 16:46:25 -0800
commit7801ce67ace77f5de98ddc38d7b0b45c68faeb6b (patch)
tree64e3d8db8173db04e2181c3ddb33ef1a2406f301 /src/routes/(app)/qr/[text]/raw
parent2b174ad557e82731e59ff47e705af085071f7132 (diff)
downloadcoinos-ui-7801ce67ace77f5de98ddc38d7b0b45c68faeb6b.tar.gz
coinos-ui-7801ce67ace77f5de98ddc38d7b0b45c68faeb6b.zip
cache qrs
Diffstat (limited to 'src/routes/(app)/qr/[text]/raw')
-rw-r--r--src/routes/(app)/qr/[text]/raw/+server.ts16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/routes/(app)/qr/[text]/raw/+server.ts b/src/routes/(app)/qr/[text]/raw/+server.ts
new file mode 100644
index 00000000..a24d3a3c
--- /dev/null
+++ b/src/routes/(app)/qr/[text]/raw/+server.ts
@@ -0,0 +1,16 @@
+import Qr from "qrcode-base64";
+
+export async function GET({ params }) {
+ const { text } = params;
+
+ const dataUri = Qr.drawImg(text, { size: 600 });
+ const base64Data = dataUri.split(",")[1];
+ const binaryData = Buffer.from(base64Data, "base64");
+
+ return new Response(binaryData, {
+ headers: {
+ "Content-Type": "image/gif",
+ "Cache-Control": "public, max-age=31536000, immutable",
+ },
+ });
+}